The need for resource allocation decisions arises in a broad range of technological and industrial areas such as the assignment of transmission facilities in telephone transmission systems, the control of the product mix of a factory, the deployment of industrial equipment, inventory control, and others. Resource allocation in this context means, in general, the deployment of specific technological or industrial resources for the production of particular technological or industrial results.
Resource allocation decisions are typically subject to constraints on such allocations. Resources are always limited in overall availability, and, furthermore, the usefulness of a particular resource in some particular application may also be limited. For example, the traffic-carrying capacity of each individual link in a telecommunications system is limited, while the overall traffic offered to the communications system is also limited. Each particular allocation of resources can be associated with a "payoff," i.e., a cost of that allocation or an allocation benefit (e.g., profit). The problem, then, is to allocate the resources so as to satisfy all of the constraints and, simultaneously, to maximize the payoff, i.e., minimize the costs or maximize the benefits.
One method of representing such allocation decision problems is called the linear programming model. Such a model consists of a number of linear expressions that represent the quantitative relationships among allocations, constraints and payoffs. An expression is said to be linear if it is the sum of constant coefficients multiplied by unknown allocation values. Many resource allocation problems, of course, cannot be represented by such linear expressions, but involve higher powers of the unknowns or other nonlinearities in the relationships and hence are not susceptible to linear programming approaches.
It should be noted that the resource allocation problems discussed above are real physical problems arising in real physical systems. While it is true that significant quantitative aspects of the physical problem can be represented by the linear programming model, the purpose of this model is to provide optimum values which are then used in the physical world to construct or operate a physical system. Linear programming models are typically used to design telephone systems, to schedule airline activities or to control petro-chemical processes.
The feasible solutions to linear programming problems are often modeled as a multidimensional geometric shape--a polyhedron with a surface made up of thousands of multisided planes or "polygons" based on the constraints of the problem. This polyhedron, which is technically termed a "polytope," is an organized representation of the problem's constraints.
To find an optimum solution from among the many feasible solutions of a linear programming problem, an algorithm or procedure is applied. Such procedures follow an imaginary line or path from point to point in or on the surface of the polytope. The points on this path are steps in a series of interim solutions to the problem. Each such step is called an iteration. Each step or iteration, in turn, consists of the processing of equations that consider many interrelated constraints and variables.
It has long been known that the optimum solution to any linear programming problem must lie at one of the corners or vertices of the polytope. Successful algorithms or procedures for determining the optimum solution therefore follow a path which ultimately terminates at the optimum vertex. The speed of such algorithms depends, in part, on the number of steps and also, in part, on the complexity of each step.
One new method for solving linear programming models of physical allocation problems is called the Karmarkar algorithm, described in the article by N. K. Karmarkar entitled "A New Polynomial-Time Algorithm for Linear Programming," Combinatorica 4(4), pp. 373-395, 1984. Unlike the older Simplex algorithm, which proceeds on the surface of the constraint polytope from vertex to vertex, the Karmarkar algorithm beings in the interior of the constraint polytope and proceeds in radial steps to the optimum vertex. At each iteration of the Karmarkar algorithm, the polytope space is rescaled to place the current value of the allocation at the polytope center. Because of the radial nature of successive steps, far fewer steps are required to reach the optimum vertex and hence the Karmarkar algorithm presents the possibility of being much faster than the Simplex algorithm, particularly for larger-sized problems.
The canonical form of the Karmarkar algorithm limits the values of the resource allocations to the region of positive values. Many real problems, however, have more restrictive limits on the values of these allocations. For example, the ability to allocate resources is often limited by economic, political, sociological or legal considerations which have little to do with optimality, but nevertheless must be observed. The canonical Karmarkar algorithm is not well-suited for handling such arbitrary limitations which are independent of the physical constraints on the problem. Unless such limitations are introduced into the problem from the outset, the Karmarkar algorithm is unable to identify optimum allocations which take such limitations into account.